InteractionFileData

Extension: ".indata"

After the end definition line, text is defined. For this reason only one InteractionFileData can be defined per file.

Common Definitions

"e" for End

Defines the end of a FileData.
If not defined: No FileData is defined.

"i" for Identifier "Type > String"

Defines an identifier used for identification of FileData and overriding of some FileData. Identifiers are converted to all lower case during load.
If not defined: Set to name.

"n" for Name "Type > String"

Defines a name used in some FileData.
If not defined: Set to identifier.

"p" for Priority "Type > Integer"

Defines a priority that is used for overriding FileData. Higher priority overrides lower priority.
If not defined: Is set to 0.

"v" for Value "Type > String=(Any Type)"

Defines a value for this file.
If not defined: No Value is set.

"x" for NSFW "Type > Separated Array of Type > String"

Defines the FileData as NSFW, and sets the NSFW categories.
If not defined: FileData is treated as SFW.

"#" for File Tag "Type > Separated Array of Type > String"

Defines file tags that can be used to later in lua scripts.

"@" for Insert Value

Defines a value that is inserted into a given data map.
Example: @=extra=can_take_photo=1

"~" for Skip

Defines this line as being skipped.

Image Definitions
Image Definitions

"t" for Tag "Type > String=Type > String"

Defines tags for use in image search and image generation. The second letter of the definition defines the tag type: suggested (t=, ts=), required (tr=) or avoid (ta=). Used in Image Search.
A required tag "type=x" is usually added to FileData automatically. "x" in this case is the FileData type, for example: "type=character", "type=interaction". This can be manually overridden by adding a "type=x" tag in the file.
If not defined: The only tag is "type=x". Image Search will result in a mostly random images.
Example: "tr=type=character"

"c" for Chance "Type > Float"

"g" for Group "Type > Separated Array of Type > String"

Defines the group this interaction will be in. Groups are nested from outer to inner.
For example: "talk|small talk" will be converted to.

Interactions

Talk

Small Talk

Interaction Name

If not defined: This is set to "undefined".
Example: "g=talk|small talk"

"?" for Requirement "Type > LuaCode ->Type > Boolean"

Defines one line of lua code that should return a boolean. If the code returns true this interaction is visible otherwise the interaction is not shown.
If not defined: This interaction is always visible.
Example: "r=getCharacterData("c0", "budgetcurrent", "relationship") >= 20"

"d" for Disabled "Type > LuaCode ->Type > Boolean"

Defines one line of lua code that should return a boolean. If the code returns true this interaction is disabled and can't be clicked.
If not defined: This interaction is always enabled.
Example: "r=getPlayerData("budgetcurrent", "energy") >= 15"

"f" for Feature "Type > FeatureData"

Defines a feature added during the interaction. Cosmetic only.
If not defined: No feature is added from this interaction.
Example: "f=hair color/red"

"o" for Outfit "Type > OutfitData"

Defines an outfit added during the interaction. Cosmetic only.
If not defined: No outfit is added from this interaction.
Example: "o=outfit/school uniform"

"s" for Situation "Type > String:Type > String(Optional)"

Defines the situation this interaction will appear in. Currently only: "character", "location", "place", "item" and "player" are valid situations. So if "s=character" is defined, this interaction will only appear in the character display.
Optionally a FileData identifier can be put after the situation, if this is added only characters and places with this exact FileData identifier can have this interaction.
This is roughly equivalent (just faster) to adding something like this to the FileData:
'?=getPlaceData("p0", "extra", "file") == "base_player_housing_bed"'
If not defined: This interaction will appear in every available situations.
Example: "s=character:optional_character_file"

"h" for Hours "Type > String"

Defines the time the event passes. This can be a lua script that results in a number in which case the given number of hours are passed. If the string is a singular "?" then no time is passed and a "?" is shown during gameplay. If the string starts with a "!" then no time is passed and the rest of the string is shown during gameplay.
If not defined: No time is passed or shown.
Example: h=24.0 / 4.0 + additionalTime()

"b" for Budget "Type > String=Type > String"

Defines a budget that the interaction checks to determine disabledness. The first part has to be a budget file identifier. The second part can be a lua script that results in a number in which case the given number of budget has to be reached. If the string is a singular "?" then no budget is checked and a "?" is shown during gameplay. If the string starts with a "!" then no budget is checked and the rest of the string is shown during gameplay. If the string starts with a "$" then the budget is checked and the rest of the string is shown as a lua script (nothing is subtracted).
If not defined: No budget is checked.
Example: b=energy=10.0 + additionalBudget()

"$" for Resource "Type > String=Type > String"

Defines a resources that acts like the "b" definition.
If not defined: No resource is checked.
Example: b=base_currency=5.0 + additionalMoney()

"a" for Add "Type > String:Type > String(Optional)"

Defines a type that is added to the Image Search and Image Generation.
This can be "character", "place" or "item". The tags/features/outfits of the given entity are added to the interaction tags. After the type, keys can be specified, separated by a "/". If any key is specified, then only tags/features with the given keys are added.
The tag "type" is not automatically added and has to be specified. So if you "a=character" and want an image with the "t=type=character" you must add "t=type=character" to the InteractionFileData.
If not defined: No additional tags are added.
Example: "a=character:gender/hair color"